Skip to content

Fix CK struct packing for Windows builds - #209

Merged
dgarske merged 3 commits into
wolfSSL:masterfrom
holtrop-wolfssl:issue208
Aug 7, 2026
Merged

Fix CK struct packing for Windows builds#209
dgarske merged 3 commits into
wolfSSL:masterfrom
holtrop-wolfssl:issue208

Conversation

@holtrop-wolfssl

Copy link
Copy Markdown
Contributor

Resolves #208.

@holtrop-wolfssl holtrop-wolfssl self-assigned this Aug 3, 2026
Copilot AI review requested due to automatic review settings August 3, 2026 20:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a Windows ABI mismatch in the exported PKCS#11 struct layouts (notably CK_FUNCTION_LIST) by enforcing 1-byte packing on Windows, preventing misaligned function pointer offsets returned by C_GetFunctionList. It also ensures the generated wolfpkcs11/options.h header is installed when using CMake so consumers can compile against the installed headers.

Changes:

  • Add Windows-only #pragma pack(push, 1) / #pragma pack(pop) around PKCS#11 struct definitions in wolfpkcs11/pkcs11.h (with an opt-out macro).
  • Install the generated options.h via CMake so <wolfpkcs11/options.h> is available to downstream builds.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
wolfpkcs11/pkcs11.h Applies Windows-specific 1-byte struct packing to match expected PKCS#11 ABI for CK_* structs/function lists.
CMakeLists.txt Installs the generated wolfpkcs11/options.h header so installed includes are complete for consumers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@LinuxJedi

Copy link
Copy Markdown
Member

CI failure fixed in #210

@dgarske
dgarske merged commit 27278a4 into wolfSSL:master Aug 7, 2026
174 of 179 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CK_FUNCTION_LIST has incorrect ABI on Windows

4 participants